package com.cloudbroker.bcs.csvc.lightinvesting.api.t2service;

import com.cloudbroker.bcs.common.annotation.NoLogin;
import com.cloudbroker.bcs.common.annotation.NoToken;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.request.ifs.*;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.IFS.*;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * Created by fangyf18371 on 2016/11/3.
 * 用户中心接口
 */
@ServiceModule
public interface IFST2Service {
    /**
     * 用户注册
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290003",desc="用户注册")
    public RegisterVo func_register(@ServiceParam("param") RegisterForm param);

    /**
     * 用户密码登录
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290004",desc="用户密码登录")
    public LoginVo func_login(@ServiceParam("param")LoginForm param);

    /**
     * 用户验证码获取
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290005",desc="用户验证码获取")
    public AuthCodeGetVo func_auth_code_get(@ServiceParam("param")AuthCodeGetForm param);

    /**
     * 用户验证码登录
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290006",desc="用户验证码登录")
    public AuthCodeLoginVo func_auth_code_login(@ServiceParam("param")AuthCodeLoginForm param);

    /**
     * 用户数据更新
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290007",desc="用户数据更新")
    public UserUpdateVo func_user_update(@ServiceParam("param")UserUpdateForm param);

    /**
     * 用户数据获取
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290008",desc="用户数据获取")
    public UserinfoVo func_userinfo(@ServiceParam("param")UserinfoForm param);

    /**
     * 用户token校验
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290009",desc="用户token校验")
    public UserTokenCheckVo func_user_token_check(@ServiceParam("param")UserTokenCheckForm param);

    /**
     * 用户登出
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290010",desc="用户登出")
    public LogoutVo func_logout(@ServiceParam("param")LogoutForm param);

    /**
     * 文件上传
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290002",desc="文件上传")
    public UploadVo func_upload(@ServiceParam("param")UploadForm param);

    /**
     * 文件下载
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290001",desc="文件下载")
    public DownloadVo func_download(@ServiceParam("param")DownloadForm param);

    /**
     * 密码重置
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290011",desc="密码重置")
    public PasswordResetVo func_password_reset(@ServiceParam("param") PasswordResetForm param);//

    /**
     * 用户注册登录
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290012",desc="用户注册登录")
    public RegisterAndLoginVo func_register_and_login(@ServiceParam("param") RegisterAndLoginForm param);

    /**
     * 检测用户是否已注册
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290013",desc="检测用户是否已注册")
    public CheckRegisterVo func_check_register(@ServiceParam("param") CheckRegisterForm param);

    /**
     * 获取用户信息
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290014",desc="检测用户是否已注册")
    public UserbasicinfoVo func_userbasicinfo(@ServiceParam("param")UserbasicinfoForm param);//

    /**
     * 用户信息分页查询
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290015",desc="用户信息分页查询")
    public UserPageQueryVo func_user_page_query(@ServiceParam("param") UserPageQueryForm param);

    /**
     * 投顾保存
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290016",desc="投顾保存")
    public AdviserSaveVo func_adviser_save(@ServiceParam("param")AdviserSaveForm param);

    /**
     * 投顾信息修改
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290017",desc="投顾信息修改")
    public AdviserUpdateVo func_adviser_update(@ServiceParam("param") AdviserUpdateForm param);

    /**
     * 投顾信息获取
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290027",desc="投顾信息获取")
    public AdviserGetVo func_adviser_get(@ServiceParam("param") AdviserGetForm param);

    /**
     * 投顾信息分页获取
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290019",desc="投顾信息分页获取")
    public AdviserPageQueryVo func_adviser_page_query(@ServiceParam("param") AdviserPageQueryForm param);

    /**
     * 用户密码修改
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290022",desc="用户密码修改")
    public UserUpdatePasswordVo func_user_update_password(@ServiceParam("param") UserUpdatePasswordForm param);

    /**
     * 用户密码修改
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    @Service(functionId = "5290025",desc="资金用户注册登录")
    public CapitalAccountLoginVo func_capital_account_login(@ServiceParam("param") CapitalAccountLoginForm param);

}
